Урок 8 – Система событий и Консоль

В прошлых уроках мы добавили физическое поведение для объекта “Player”, а также изменили физические свойства сцены. С этого урока мы начинаем добавлять события в игру.

События – это правила вашей игры, которые состоят из условий и действий. Условия можно рассматривать как “если”, а действия можно рассматривать как “тогда”. “Если” условие выполнено , “тогда” действие произойдет.

Переходим к вкладке Редактор событий:

Редактор событий – это место, куда вы добавляете события, которые создают реальный игровой процесс. Все “правила” вашей игры могут быть созданы с помощью событий. Редактор событий – это инструмент, который дает вам возможность визуально программировать вашу игру. События доступны для чтения любому пользователю и могут быть созданы без специальных знаний в области программирования.

Когда вы переключитесь на редактор событий, вы увидите, что стандартное меню изменится и появятся новые команды:

Чтобы добавить новое событие вы можете либо нажать кнопку в центре, либо команду на стандартном меню:

Когда вы нажмете эту кнопку, на экране ниже в редакторе появится пустое событие:

У события есть левая и правая сторона: левая отвечает за “если” (add condition, т.е. добавить условие), правая за “тогда” (add action, т.е. добавить действие).

Вы можете добавлять сколь угодно условий, и все они выполняются сверху вниз за каждый кадр игры.

Давайте добавим первое событие в нашу игры, сделал традиционное задание для программистов-новичков – выведем “Привет, мир!” в консоль.

Для этого кликаем по слову Add condition. Появляется такое окно.

Здесь мы сразу можем выбрать объект и посмотреть какие условия к нему могут применяться.

Но нам нужно условие не связанное с конкретным объектом, а со сценой. Переходим на вкладку Other Conditions (т.е. другие условия) и выбираем условия связанные со сценой:

В открывшемся списке выбираем условие “At the beginning of the scene” (в начале сцены), т.е. условие сработает только один раз, когда запустится сцена в первом кадре игры, и остальные кадры будет игнорировать.

Выбрав данное условие, справа показываются его свойства:

Первая строчка описывает что произойдет (is true only when scene just begins, т.е. это сработает когда сцена запустится). Далее идет надпись что никаких конкретных свойств у данного события нет. И в конце мы можем инвертировать событие.

Нажимаем кнопку Ок.

Как видите, условие добавилось, и мы можем добавлять здесь еще условия, т.е. у нас может быть много “если”, чтобы выполнилось “тогда”.

Теперь давайте добавим действие, а точнее добавим надпись “Привет, мир!” в консоль. Консоль используется для отладки игры, когда вы хотите знать что происходит с игрой на разных этапах.

Нажимает по тексту “Add condition”. Откроется такое окно очень похожее на окно с событиями.

Переходим по вкладке “Other actions” и выбираем пункт “Debbuger Tools” (т.е. инструменты отладки).

В появившемся списке выбираем действие “Добавить сообщение в консоль”.

У этого действия есть параметры или свойства, которые мы должны указать.

Из них обязательный является только первый пункт – это непосредственно само сообщение. Далее мы можем указать что за тип сообщения (по умолчанию их три “info”, “warning” и “error”, но вы можете придумать свои) и к какой группе сообщений он относится. Это делается на ваше усмотрение, если вы свои сообщения в консоль группируете и типизируете.

Я сделал так:

Все что вы набираете в этих трех пунктах обязательно должно быть в кавычках. Нажимаем кнопку Ok.

Вы также могли заметить рядом справа с каждым пунктом есть кнопка “E ABC”. Это так называемая кнопка выражений. Дело в том что это кнопка может связывать между собой различные данные, что есть в игре. Например, если персонаж получил повреждение, то должно уменьшаться количество сердечек на экране и т.д. Более подробно о выражениях мы поговорим позже.

Далее запускаем нашу игру с отладкой.

При запуске, сверните игровое окно, и вы увидите новую вкладку “Debbuger”, т.е. отладчик.

И в окне консоль мы можем увидеть наше сообщение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *